package com.ship.dispatch.bean.fob;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ship.common.core.base.Joinable;
import com.ship.common.core.mapping.Label;
import com.ship.common.core.mapping.TableColumn;
import com.ship.dispatch.annotation.ModifiableField;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author yl
 * @title SpFobWccbdlfyjs
 * @description 完成装载船舶代理费用结算
 * @create 2023/12/18 0018
 */
@Data
@TableName("sp_fob_wccbdlfyjs")
public class SpFobWccbdlfyjs extends SpFobBaseBean implements Joinable {

    @ModifiableField(name = "邮件模板id")
    @Label(value = "邮件模板id")
    @TableColumn
    private String templateId;
    @Label(value = "收件人")
    @TableColumn
    @ModifiableField(name = "收件人")
    private String recipient;
    @Label(value = "邮件正文")
    @TableColumn
    private String content;
    @Label(value = "发票")
    @TableColumn
    @ModifiableField(name = "发票")
    private String invoice;
    @Label(value = "文件模板")
    @TableColumn
    @ModifiableField(name = "文件模板")
    private String fieleTemplate;

    @Label(value = "预付款金额")
    @TableColumn
    @ModifiableField(name = "预付款金额")
    private BigDecimal paymentAmount;
    @Label(value = "单位")
    @TableColumn
    private String costUnit;
    @Label(value = "结余金额")
    @TableColumn
    @ModifiableField(name = "结余金额")
    private BigDecimal balanceAmount;
    @Label(value = "应付金额")
    @TableColumn
    @ModifiableField(name = "应付金额")
    private BigDecimal payAmount;
    @Label(value = "最晚付款时间")
    @TableColumn
    @ModifiableField(name = "最晚付款时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date payDate;
    @Label(value = "结余款所属年度")
    @TableColumn
    @ModifiableField(name = "结余款所属年度")
    private String balanceYear;
    @Label(value = "订单id")
    @TableColumn
    private Long orderId;
    @Label(value = "装载港")
    @TableColumn
    @ModifiableField(name = "装载港")
    private String port;

    @Label(value = "预付金额")
    @TableField(exist = false)
    private BigDecimal paymentAmountStr;
    @Label(value = "Balance")
    @TableField(exist = false)
    private BigDecimal balance;

    @TableColumn
    private String orderProcessId;
    @TableColumn
    private Integer apprvalStatus;

    @Label("业务说明更新")
    @TableColumn
    private String busniessFile;


    @Override
    public String getLabel() {
        return null;
    }

    @Override
    public String getValue() {
        return null;
    }
}
